using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ZoneSecret")]
	public class ZoneSecret : Zone
	{
		public static float MAX_LAYOUT_PYRAMID_LEVEL => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneSecret", "MAX_LAYOUT_PYRAMID_LEVEL");

		public static float LAYOUT_ANIM_SEC => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneSecret", "LAYOUT_ANIM_SEC");

		public static float PHONE_OFFSET_X => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ZoneSecret", "PHONE_OFFSET_X");

		public ZoneSecret(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ZoneSecret(IntPtr address)
			: this(address, "ZoneSecret")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public new void UpdateLayout()
		{
			method_8("UpdateLayout");
		}

		public List<Card> GetSecretCards()
		{
			return method_14<Class271<Card>>("GetSecretCards", Array.Empty<object>())?.method_25();
		}

		public int GetSecretCount()
		{
			return method_11<int>("GetSecretCount", Array.Empty<object>());
		}

		public void UpdateLayout_Default()
		{
			method_8("UpdateLayout_Default");
		}

		public void UpdateLayout_Phone()
		{
			method_8("UpdateLayout_Phone");
		}

		public void SortQuestsToTop()
		{
			method_8("SortQuestsToTop");
		}

		public bool CanAnimateCard(Card card)
		{
			return method_11<bool>("CanAnimateCard", new object[1] { card });
		}

		public void OnGameOver(TAG_PLAYSTATE playState, object userData)
		{
			method_8("OnGameOver", playState, userData);
		}
	}
}
